local Lua__qgch = fk.CreateSkill {

  name = "Lua__qgch",

  tags = { Skill.Compulsory, },

}

Fk:loadTranslationTable{
    
    ["Lua__qgch"] = "御气乘龙",
    ["$Lua__qgch1"] = "气贯长虹！！！",
    ["@@qiguanchanghong"] = "气贯长虹",
    [":Lua__qgch"] = "锁定技，连招技（“流星赶月”+“日字冲拳”）你的【杀】结算次数、抵消你的【杀】所需的【闪】、【杀】造成的伤害分别+1。直至你翻面。",
}

Lua__qgch:addEffect(fk.SkillEffect, {
  anim_type = "offensive",
  can_trigger = function(self, event, target, player, data)
    local room = player.room
    if player:hasSkill(Lua__qgch.name) and target == player then
      if player:getMark("@@Lua__zmtx") == 1 then
        if data.skill.name == "Lua__rzcp" then 
          return true
        elseif data.skill.name ~= "Lua__rzcp" and data.skill.visible and not data.skill.attached_equip and data.skill:isPlayerSkill(player) and player:hasShownSkill(data.skill, true) and
          data ~= self then
          room:setPlayerMark(player, "@@Lua__zmtx", 0)
          return false
        end
      end
    end
  end,
  on_use = function (self, event, target, player, data)
    local room = player.room
    room:setPlayerMark(player, "@@Lua__zmtx", 0)
    room:setPlayerMark(player, "@@qiguanchanghong", 1)
  end,
})
Lua__qgch:addEffect(fk.TargetSpecifying, {
  anim_type = "offensive",
  can_trigger = function(self, event, target, player, data)
    local room = player.room
    if player:hasSkill(Lua__qgch.name) and target == player then
      return data.card.trueName == "slash" and player:getMark("@@qiguanchanghong") == 1
    end
  end,
  on_use = function (self, event, target, player, data)
     local room = player.room
    data.use.additionalEffect = (data.use.additionalEffect or 0) + 1
		data.fixedResponseTimes = 2
    data.additionalDamage = (data.additionalDamage or 0) + 1
  end,
})

Lua__qgch:addEffect(fk.BeforeTurnOver, {
  anim_type = "offensive",
  can_trigger = function(self, event, target, player, data)
    local room = player.room
    if player:hasSkill(Lua__qgch.name) and target == player then
      return player:getMark("@@qiguanchanghong") == 1
    end
  end,
  on_use = function (self, event, target, player, data)
    local room = player.room
    room:setPlayerMark(player, "@@qiguanchanghong", 0)
  end,
})

return Lua__qgch